Git 提供了一个叫做 git config 的工具(实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
/etc/gitconfig :系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
~/.gitconfig :用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
.git/config :这里的配置仅仅针对当前项目有效。对应local级别,若使用 --system 选项,或者不带参数,读写的就是这个文件。
这3个配置文件,并不都是安装完后就有了,可能只有在我们真正添加配置项的时候才会生成。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:\Documents and Settings\$USER。此外,Git 还会尝试找寻 /etc/gitconfig 文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。
用户信息
首先,要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录。根据需要使用参数[--global、-- system、--system或者不使用]选项,更改对应的配置文件。
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com
同样的命令也可以用于修改用户名和邮箱,不能成功的话,
$ git config --global --replace-all user.email "userName" $ git config --global --replace-all user.name "userEmail"
关于自动的用户名和邮箱
Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly. Run the following command and follow the instructions in your editor to edit your configuration file
git命令行颜色
git config color.ui false git config color.ui true git config --global color.ui false git config --global color.ui true
如果要单独设置某些项的颜色,可以用前面几点提到的方法进行设置,比如:
// status 高亮模式为 auto git config --global color.status auto // branch 高亮模式为 auto git config --global color.branch auto // ui 高亮模式为 auto git config --global color.ui auto
配置命令别名
我们在用git的时候,很多时候都是用的命令行形式的,不仅要记得住大量命令,还要能灵活进行组合,这就很是头大了,正因为此,命令别名的重要性就出来了。但与其说是别名,倒不如说是另类的简写形式。别名的配置也需要使用config命令,比如给 git status 设置别名 st:
git config --global alias.st status
这样我们以后使用的时候,直接用 git st 就可以做 git status 的事了。
修改单个文件默认大小限制(以设置500M以例):
git单个文件默认大小是50M,超过50M,会给出warning。大于100M会无法提交,可以通过命令,修改单个文件默认大小(以设置500M以例):
git config --global http.postBuffer 524288000
文本编辑器
接下来要设置的是默认使用的文本编辑器。Git 需要你输入一些额外消息的时候,会自动调用一个外部文本编辑器给你用。默认会使用操作系统指定的默认编辑器,一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置:
$ git config --global core.editor emacs
差异分析工具
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。会用git的人,肯定知道 git diff,但并不一定知道这个 diff 命令调用的差异分析工具也是可以改的,而且git能支持的差异分析工具很多,Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。当然,你也可以指定使用自己开发的工具,具体怎么做可以去这里https://git-scm.com/book/zh/v... 查看。假如我们要改用vimdiff,我们可以这样设置:
$ git config --global merge.tool vimdiff
查看配置信息
要检查已有的配置信息,可以使用 git config --list 命令:
$ git config --list
有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。
也可以指定查看系统config、当前用户(global)、当前仓库配置信息
$ git config --system --list $ git config --global --list $ git config --local --list
也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:
$ git config user.name Scott Chacon
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。